package com.gopay.remote.bank.businesses;

import com.gopay.common.domain.bank.BaseMessage;
import com.gopay.common.exception.GopayException;

/** 
 * 小额免密支付业务请求接口
 * @ClassName: MicroPayService 
 * @author w_jiqing 
 * @date 2017年5月24日 下午3:02:30  
 */ 
public interface MicroPayService {
    
    /** 
     * 支付接口 
     * @param baseMsg
     * @return
     * @throws GopayException 
     * @author w_jiqing 
     */
    public Object payment (BaseMessage baseMsg) throws GopayException;
    
    /** 
     * 退款接口
     * @param baseMsg
     * @return
     * @throws GopayException 
     * @author w_jiqing 
     */
    public Object refund(BaseMessage baseMsg) throws GopayException;
    
    /** 
     * 支付订单查询接口
     * @param baseMsg
     * @return
     * @throws GopayException 
     * @author w_jiqing 
     */
    public Object queryOrder(BaseMessage baseMsg) throws GopayException;
    
    /** 
     * 退款订单查询接口
     * @param msg
     * @return
     * @throws GopayException 
     * @author w_jiqing 
     */
    public Object refundQuery(BaseMessage msg) throws GopayException;
    
    /** 
     * 冲正接口
     * @param msg
     * @return
     * @throws GopayException 
     * @author w_jiqing 
     */
    public Object reverse(BaseMessage msg) throws GopayException;

}
